package gob.pgr.digester;

import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import org.apache.commons.digester3.annotations.rules.BeanPropertySetter;
import org.apache.commons.digester3.annotations.rules.ObjectCreate;
import org.apache.commons.digester3.annotations.rules.SetNext;
import org.apache.commons.digester3.annotations.rules.SetProperty;

@XmlAccessorType(value = XmlAccessType.FIELD)
@ObjectCreate(pattern = "libreria/libro")
public class Libro {
	@XmlAttribute(name = "precio")
	@SetProperty(pattern = "libreria/libro")
	private double precio;
	
	@XmlAttribute(name = "isbn")
	@SetProperty(pattern = "libreria/libro")
	private String isbn;
	
	@XmlAttribute(name = "fechaPublicacion")
	@XmlJavaTypeAdapter(DateAdapter.class)
	@SetProperty(pattern = "libreria/libro")
	private Date fechaPublicacion;
	
	@BeanPropertySetter(pattern = "libreria/libro/titulo")
	private String titulo;
	
	@BeanPropertySetter(pattern = "libreria/libro/genero")
	private String genero;
	
	private Autor autor;

	public double getPrecio() {
		return precio;
	}

	public void setPrecio(double precio) {
		this.precio = precio;
	}

	public String getIsbn() {
		return isbn;
	}

	public void setIsbn(String isbn) {
		this.isbn = isbn;
	}

	public Date getFechaPublicacion() {
		return fechaPublicacion;
	}

	public void setFechaPublicacion(Date fechaPublicacion) {
		this.fechaPublicacion = fechaPublicacion;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getGenero() {
		return genero;
	}

	public void setGenero(String genero) {
		this.genero = genero;
	}

	public Autor getAutor() {
		return autor;
	}

	@SetNext
	public void setAutor(Autor autor) {
		this.autor = autor;
	}

}
